<template>
  <div class="app">
      <router-view >  </router-view>  
  </div>
</template>

<script  lang="ts" setup>
  import { RouterView } from 'vue-router'; 
  import { useRouter } from 'vue-router';    
  import { onMounted,ref } from 'vue';
  import axios from 'axios';

  const form = ref({
    username: '',
    password: '',
    token: '',
  });

  const router = useRouter(); 

  onMounted( async () => {
  // 从 localStorage 中获取 token
  debugger;
  const token = localStorage.getItem('token');

  if (token) {
    // 如果 token 存在，跳转到主页面1
    form.value.token = token;
    try {
          const menuData = await axios.post('http://localhost:8080/sys/logininfor/queryMenus', form.value, {
          headers: {
            'Authorization': `Bearer ${token}`
          }
        });

        sessionStorage.setItem('menuData', JSON.stringify(menuData.data));
        router.push('/main');

      } catch (error) {
        debugger;
         // 处理请求错误
            if (axios.isAxiosError(error)) {
              // 这是一个 axios 错误，可以访问错误的详细信息
              if (error.response) {
                // 请求已发出，服务器返回了状态码且不在 2xx 范围内
                console.error('响应状态码:', error.response.status);
                console.error('响应数据:', error.response.data);
                console.error('响应头:', error.response.headers);
              } else if (error.request) {
                // 请求已发出，但没有收到响应（例如网络问题）
                console.error('请求未收到响应:', error.request);
              } else {
                // 发生了请求配置或其他错误
                console.error('请求配置错误:', error.message);
              }
            } else {
              // 不是 axios 错误，可能是其他类型的错误
              console.error('发生其他错误:', error);
            }
       router.push('/Login');
    }
      

    
  } else {
    // 如果 token 不存在，跳转到登录页面
    router.push('/Login');
  }
});

  //router.push("/Login");
</script>
<style >
 
</style>
